package com.dxt.common;

public class AppConstant {

    public interface REQUEST_REPONSE_PARAM {

        /**
         * 用户名
         */
        String PARAM_IN_USERNAME = "username";
        /**
         * 密码
         */
        String PARAM_IN_PASSWORD = "password";
        /**
         * 来源
         */
        String PARAM_IN_SOURCE = "source";
        /**
         * 设备ID
         */
        String PARAM_IN_DEVICEID = "deviceId";

        /**
         * 数据下发指令
         */
        String PARAM_IN_SET = "set";

        /**
         * 数据下发指令类型 A相电压阈值设置
         */
        String PARAM_IN_CONTROLTYPE_UA = "Ua";

        /**
         * 数据下发指令类型 B相电压阈值设置
         */
        String PARAM_IN_CONTROLTYPE_UB = "Ub";

        /**
         * 数据下发指令类型 C相电压阈值设置
         */
        String PARAM_IN_CONTROLTYPE_UC = "Uc";

        /**
         * 数据下发指令类型 AB相电压阈值设置
         */
        String PARAM_IN_CONTROLTYPE_UAB = "Uab";

        /**
         * 数据下发指令类型 AC相电压阈值设置
         */
        String PARAM_IN_CONTROLTYPE_UAC = "Uac";

        /**
         * 数据下发指令类型 BC相电压阈值设置
         */
        String PARAM_IN_CONTROLTYPE_UBC = "Ubc";

        /**
         * 数据下发指令类型 A相电流
         */
        String PARAM_IN_CONTROLTYPE_IA = "Ia";

        /**
         * 数据下发指令类型 B相电流
         */
        String PARAM_IN_CONTROLTYPE_IB = "Ib";

        /**
         * 数据下发指令类型 C相电流
         */
        String PARAM_IN_CONTROLTYPE_IC = "Ic";

        /**
         * 和远阈值上上限
         */
        String PARAM_IN_HH = "hh";

        /**
         * 和远阈值上限
         */
        String PARAM_IN_H = "h";

        /**
         * 和远阈值下下限
         */
        String PARAM_IN_II = "II";

        /**
         * 和远阈值下限
         */
        String PARAM_IN_I = "I";

        /**
         * 数据上报消息类型
         */
        String PARAM_IN_ORDERTYPE = "orderType";

        /**
         * 脱扣枚举值 1 控制脱扣操作 0 关闭脱扣操作
         */
        String PARAM_IN_TRIPCONTROL_TYPE = "tripControlType";
        /**
         * 消音控制枚举值 1 消音 0 无效
         */
        String PARAM_IN_MUFFLERCONTROL_TYPE = "mufflerControlType";
        /**
         * 复位控制枚举值 1 复位操作 0 无效
         */
        String PARAM_IN_RESETCONTROL_TYPE = "resetControlType";
        /**
         * A相电压上限
         */
        String PARAM_IN_U1 = "U1";
        /**
         * B相电压上限
         */
        String PARAM_IN_U2 = "U2";
        /**
         * C相电压上限
         */
        String PARAM_IN_U3 = "U3";
        /**
         * A相电压下限
         */
        String PARAM_IN_U4 = "U4";
        /**
         * B相电压下限
         */
        String PARAM_IN_U5 = "U5";
        /**
         * C相电压下限
         */
        String PARAM_IN_U6 = "U6";
        /**
         * A相电流上限
         */
        String PARAM_IN_I1 = "I1";
        /**
         * B相电流上限
         */
        String PARAM_IN_I2 = "I2";
        /**
         * B相电流上限
         */
        String PARAM_IN_I3 = "I3";
        /**
         * 剩余电流上限
         */
        String PARAM_IN_L1 = "L1";
        /**
         * A相温度上限
         */
        String PARAM_IN_T1 = "T1";
        /**
         * B相温度上限
         */
        String PARAM_IN_T2 = "T2";
        /**
         * C相温度上限
         */
        String PARAM_IN_T3 = "T3";
        /**
         * 环境温度上限
         */
        String PARAM_IN_T4 = "T4";

        String PARAM_OUT_CODE = "code";
        String PARAM_OUT_MESSAGE = "message";
        String PARAM_OUT_RESULT = "result";
        String PARAM_OUT_SUCCESS = "success";
        String PARAM_OUT_TIMESTAMP = "timestamp";

    }

    public interface SYS_CONFIG_KEY {
        /**
        测试模式
         */
        String KEY_TEST_MODE = "TEST_MODE";
        /**
        允许请求报文时间戳与服务器最大相差时间
         */
        String KEY_TIMESTAMP_MAX_DIFF = "TIMESTAMP_MAX_DIFF";

        /**
         * 刷新缓存的验证码
         */
        String KEY_REFRESH_CACHE_VERIFICATION_CODE = "REFRESH_CACHE_VERIFICATION_CODE";

        /**
         * 消防睿控接口，下发设备数据
         */
        String KEY_XF_POST_URL = "XF_POST_URL";

        /**
         * 消防和远接口，下发设备数据
         */
        String KEY_XF_HY_POST_URL = "XF_HY_POST_URL";

        /**
         * 调用消防系统接口必须的token
         */
        String KEY_TOKEN = "TOKEN";

        /**
         * MQTT服务地址和端口
         */
        String KEY_MQTT_SERVER_URL = "MQTT_SERVER_URL";

        /**
         * MQTT服务用户名
         */
        String KEY_MQTT_USER_NAME = "MQTT_USER_NAME";

        /**
         * MQTT服务密码
         */
        String KEY_MQTT_PASSWORD = "MQTT_PASSWORD";

        /**
         * MQTT_QOS订阅模式
         */
        String KEY_MQTT_QOS = "MQTT_QOS";

        /**
         * MQTT连接超时时间（秒）
         */
        String KEY_MQTT_CONN_TIMEOUT = "MQTT_CONN_TIMEOUT";

        /**
         * MQTT订阅主题
         */
        String KEY_MQTT_TOPIC = "MQTT_TOPIC";

        /**
         * MQTT心跳时间（秒）
         */
        String KEY_MQTT_KEEP_ALIVE = "MQTT_KEEP_ALIVE";
    }

    /**
     * 系统固定参数
     */
    public interface SYS_CONSTANT {
        /**
         * 正序排序(升序)
         */
        String SORT_ASC = "asc";
        /**
         * 倒序排序(降序)
         */
        String SORT_DESC = "desc";

        Long SERVER_READ_IDEL_TIME_OUT = 30*60L;
        Long SERVER_WRITE_IDEL_TIME_OUT = 30*60L;
        Long SERVER_ALL_IDEL_TIME_OUT = 30*60L;
        Long MAX_LOSS_CONNECT_TIME = 30L;

    }

    /**
     * 返回CODE码
     */
    public interface REPONSE_CODE {

        /**
         * 消防系统返回的通用请求成功code码
         */
        String SUCCESS_CODE = "200";

        /**
         * 通用请求成功代码
         */
        String BUSI_OK = "0000";
        /**
         * 业务错误提醒，用于msg信息直接展示给用户的场景
         */
        String BUSI_WARNING = "1000";
        /**
         * 业务错误提醒，用于msg信息不可直接展示给用户的场景，即联调或分析使用
         */
        String BUSI_ERROR = "8000";
        /**
         * 系统级错误，msg信息供联调或分析使用
         */
        String SYS_ERROE = "9999";
    }

    /**
     * 返回信息
     */
    public interface REPONSE_MSG {
        String SYS_REQUEST_OK_MSG = "成功！";
        String SYS_ERROR_MSG = "系统错误，请稍后再试！";
        String SYS_PARAM_ERROR_MSG = "请求参数有误，请检查参数是否正确！";
        String SYS_PARAM_SECRETKEY_ERROR_MSG = "请求平台账号或密钥错误，请检查是否正确！";
        String SYS_EMPTY_MSG = "未查到相关记录";
        String SYS_SEND_OK_MSG = "命令已下发";
    }

}
